README
Week 3.5 - 고가용성 및 확장성 웹 서비스 구축
학습 목표
Week3에서 만든 Web/WAS 분리 서비스를 절대 죽지 않는 고가용성 서비스로 업그레이드합니다.
무엇을 배우나요?
- Multi-AZ: 서울 데이터센터 2곳에 서버 배치 (한 곳 고장 나도 계속 동작)
- Load Balancer: 트래픽을 여러 서버에 나눠주는 시스템
- Auto Scaling: 사용자 많으면 서버 자동 추가, 적으면 자동 삭제
- Multi-AZ RDS: 데이터베이스도 백업본 자동 관리
아키텍처 발전 과정
Week3에서 만든 것 (현재)
사용자 → Apache (1대) → Tomcat (1대) → RDS (1대)
서울-2a 서울-2a 서울-2a
문제점: 서버 1대라도 고장나면 전체 서비스 중단
Week3.5에서 만들 것 (목표)
┌─ Apache (서울-2a) ─┐
사용자 → ALB ┤ ├─ Tomcat (서울-2a) ─┐
└─ Apache (서울-2c) ─┘ ├─ RDS (Multi-AZ)
└─ Tomcat (서울-2c) ─┘
장점: 서버 몇 대 고장나도 서비스 계속 동작
실습 순서
선택 과정: 도메인 연결 (Week1 완료자만)
Week1에서 도메인을 설정했다면, 3-Tier 아키텍처에 연결해보세요:
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/00-도메인연결및SSL적용(선택)/01-현재상태확인
- Week1의 S3 정적 사이트를 3-Tier 동적 사이트로 업그레이드
- SSL 인증서 적용으로 HTTPS 보안 강화
- 실제 도메인으로 접속하는 프로덕션급 서비스 완성
1단계: 네트워크 확장
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/01-Multi-AZ-네트워크확장/01-가용영역이해및설계
- 서울-2a, 서울-2c 두 곳에 서브넷 추가
- 지진나도 안전한 네트워크 만들기
2단계: 로드밸런서 구축
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/02-Application-Load-Balancer/01-ALB개념이해
- 똑똑한 교통 정리원(ALB) 설치
- 건강한 서버에만 트래픽 보내기
3단계: 자동 확장 설정
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/03-Auto-Scaling-Group/01-Auto-Scaling개념
- 서버가 스스로 늘었다 줄었다 하게 만들기
- 돈 절약하면서 성능 향상
4단계: 데이터베이스 이중화
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/04-Multi-AZ-RDS/01-Multi-AZ-RDS이해
- 데이터베이스 백업본 자동 관리
- 데이터 절대 안 잃어버리게
5단계: 통합 테스트
AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/05-통합테스트/01-고가용성테스트
- 실제로 서버 고장내서 테스트
- 진짜 안전한지 확인하기
완성 후 달라지는 점
| 항목 | Week3 (이전) | Week3.5 (완성 후) |
|---|---|---|
| 서버 개수 | 2대 (Web 1대, WAS 1대) | 최소 4대 (각각 2대씩) |
| 장애 대응 | 1대 고장시 서비스 중단 | 절반 고장나도 서비스 유지 |
| 트래픽 처리 | 고정 용량 | 자동으로 늘었다 줄었다 |
| 비용 | 항상 동일 | 사용량에 따라 절약 |
| 안전성 | 보통 | 매우 높음 |
준비물 체크리스트
필수사항
중요한 주의사항
Week3 완료 필수
이 실습은 Week3의 Web/WAS 분리 아키텍처가 완전히 동작하는 상태에서 시작합니다.
- Apache에서 정적 파일 직접 서비스
- Apache에서 JSP 요청을 Tomcat으로 프록시
- Tomcat에서 RDS MySQL 연결
설정 정보 기록 필요
다음 정보들을 미리 확인하고 기록해두세요:
- VPC 이름 및 ID
- 기존 서브넷 정보 (Public, Private)
- 보안 그룹 이름들 (web-sg, was-sg, db-sg)
- RDS 엔드포인트 주소
- WAS 서버의 Private IP 주소
준비되셨나요?
먼저 Week3이 완전히 동작하는지 확인한 후 AWS EDU/Archive/조선대학교 AWS 멘토링/Week3.5-HA-Scalable-WebService/01-Multi-AZ-네트워크확장/01-가용영역이해및설계부터 시작해보세요.
관련 문서: AWS EDU/Archive/조선대학교 AWS 멘토링/Week2-Dynamic-WebApp-Deployment/Week2-전체가이드, Week3-WAS-Deployment